package modelos;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * Modelo para crear una venta
 *
 * @author David Alberto Torres Real
 * @since 20/02/2015
 */
public class Venta {

    private Integer folio;
    private Date fecha;
    private String cajero;
    private Integer numCaja;

    private List<DetalleVenta> detallesVenta;

     /**
     * Metodo constructor para una venta que asigna una nueva fecha
     *
     * @param cajero
     * @param numCaja
     */
    public Venta(String cajero, Integer numCaja) {
        //TODO asignar folio de manera autoincremental.
        this.cajero = cajero;
        this.numCaja = numCaja;
        this.fecha = new Date();
        this.detallesVenta = new ArrayList<>();
    }

    /**
     * Metodo de acceso al folio de la venta
     *
     * @return folio de la venta en formato Integer
     */
    public Integer getFolio() {
        return this.folio;
    }

    /**
     * Asignacion de un folio a la venta
     *
     * @param folio numero enteri unico y consecutivo
     */
    public void setFolio(Integer folio) {
        //darle un valor a la variable de instancia
        this.folio = folio;
    }

    /**
     *
     * @return
     */
    public Date getFecha() {
        return this.fecha;
    }

    /**
     *
     * @param fecha
     */
    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }

    /**
     *
     * @return
     */
    public String getCajero() {
        return this.cajero;
    }

    /**
     *
     * @param cajero
     */
    public void setCajero(String cajero) {
        this.cajero = cajero;
    }

    /**
     *
     * @return
     */
    public Integer getNumCaja() {
        return this.numCaja;
    }

    /**
     *
     * @param numCaja
     */
    public void setNumCaja(Integer numCaja) {
        this.numCaja = numCaja;
    }

}